]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Clean up the presentation of errors in the run dialog
authorWilliam Jon McCann <jmccann@redhat.com>
Thu, 27 Jan 2011 20:26:58 +0000 (15:26 -0500)
committerWilliam Jon McCann <jmccann@redhat.com>
Thu, 27 Jan 2011 20:46:03 +0000 (15:46 -0500)
Removes redundant text, better icon, and shows are better error when
a command isn't found than "No such file or directory".

data/Makefile.am
data/theme/dialog-error.svg [deleted file]
data/theme/gnome-shell.css
js/misc/util.js
js/ui/runDialog.js

index 4e73e037acbeeaf154d05654275fc40c80f4eb35..62eed7c8857098d6f23b5a992881330ae0a574a1 100644 (file)
@@ -29,7 +29,6 @@ dist_theme_DATA =                             \
        theme/close.svg                         \
        theme/corner-ripple.png                 \
        theme/dash-placeholder.svg              \
-       theme/dialog-error.svg                  \
        theme/filter-selected.svg               \
        theme/gnome-shell.css                   \
        theme/mosaic-view-active.svg            \
diff --git a/data/theme/dialog-error.svg b/data/theme/dialog-error.svg
deleted file mode 100644 (file)
index 88c4ef7..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="24"
-   height="24"
-   id="svg4908"
-   sodipodi:version="0.32"
-   inkscape:version="0.47 r22583"
-   sodipodi:docname="dialog-error.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   inkscape:export-filename="/home/andreas/project/gnome-icon-theme/scalable/actions/process-stop.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   version="1.0">
-  <defs
-     id="defs4910">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 24 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="48 : 24 : 1"
-       inkscape:persp3d-origin="24 : 16 : 1"
-       id="perspective25" />
-    <radialGradient
-       gradientTransform="matrix(1.349881,0,0,1.349881,-3.498814,-1.810859)"
-       gradientUnits="userSpaceOnUse"
-       r="9.7183542"
-       fy="4.9892726"
-       fx="9.6893959"
-       cy="4.9892726"
-       cx="9.6893959"
-       id="radialGradient5177"
-       xlink:href="#linearGradient5171"
-       inkscape:collect="always" />
-    <radialGradient
-       gradientTransform="matrix(2.417917,0,0,2.417917,-14.17917,-4.903184)"
-       gradientUnits="userSpaceOnUse"
-       r="9.7785711"
-       fy="3.458019"
-       fx="10"
-       cy="3.458019"
-       cx="10"
-       id="radialGradient5157"
-       xlink:href="#linearGradient5151"
-       inkscape:collect="always" />
-    <radialGradient
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.928125,0,0,0.3143011,0.7718789,12.358015)"
-       r="9.0598059"
-       fy="18.022524"
-       fx="10.739184"
-       cy="18.022524"
-       cx="10.739184"
-       id="radialGradient5145"
-       xlink:href="#linearGradient5139"
-       inkscape:collect="always" />
-    <linearGradient
-       id="linearGradient5139"
-       inkscape:collect="always">
-      <stop
-         id="stop5141"
-         offset="0"
-         style="stop-color:black;stop-opacity:1;" />
-      <stop
-         id="stop5143"
-         offset="1"
-         style="stop-color:black;stop-opacity:0;" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient5151"
-       inkscape:collect="always">
-      <stop
-         id="stop5153"
-         offset="0"
-         style="stop-color:white;stop-opacity:1;" />
-      <stop
-         id="stop5155"
-         offset="1"
-         style="stop-color:white;stop-opacity:0;" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient5171">
-      <stop
-         id="stop5173"
-         offset="0"
-         style="stop-color:#fe3a00;stop-opacity:1" />
-      <stop
-         id="stop5175"
-         offset="1"
-         style="stop-color:#c00;stop-opacity:1;" />
-    </linearGradient>
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="22.627417"
-     inkscape:cx="24.442987"
-     inkscape:cy="10.142308"
-     inkscape:current-layer="g7001"
-     showgrid="false"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="1674"
-     inkscape:window-height="970"
-     inkscape:window-x="0"
-     inkscape:window-y="26"
-     width="48px"
-     height="48px"
-     inkscape:window-maximized="0" />
-  <metadata
-     id="metadata4913">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title>Stop Process</dc:title>
-        <dc:date>December 2006</dc:date>
-        <dc:creator>
-          <cc:Agent>
-            <dc:title>Jakub Steiner</dc:title>
-          </cc:Agent>
-        </dc:creator>
-        <dc:contributor>
-          <cc:Agent>
-            <dc:title>Andreas Nilsson</dc:title>
-          </cc:Agent>
-        </dc:contributor>
-        <cc:license
-           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
-        <dc:subject>
-          <rdf:Bag>
-            <rdf:li>stop</rdf:li>
-            <rdf:li>halt</rdf:li>
-          </rdf:Bag>
-        </dc:subject>
-      </cc:Work>
-      <cc:License
-         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
-        <cc:permits
-           rdf:resource="http://web.resource.org/cc/Reproduction" />
-        <cc:permits
-           rdf:resource="http://web.resource.org/cc/Distribution" />
-        <cc:requires
-           rdf:resource="http://web.resource.org/cc/Notice" />
-        <cc:permits
-           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
-        <cc:requires
-           rdf:resource="http://web.resource.org/cc/ShareAlike" />
-        <cc:requires
-           rdf:resource="http://web.resource.org/cc/SourceCode" />
-      </cc:License>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     transform="translate(0,-24)">
-    <g
-       inkscape:label="Layer 1"
-       id="g7001"
-       transform="matrix(1.4566048,0,0,1.4455352,0.4112881,1.2324709)">
-      <path
-         transform="matrix(0.91468137,0,0,0.70055266,-1.8812476,17.474032)"
-         d="m 19.79899,18.022524 a 9.0598059,3.0935922 0 1 1 -18.1196115,0 9.0598059,3.0935922 0 1 1 18.1196115,0 z"
-         sodipodi:ry="3.0935922"
-         sodipodi:rx="9.0598059"
-         sodipodi:cy="18.022524"
-         sodipodi:cx="10.739184"
-         id="path5137"
-         style="color:#000000;fill:url(#radialGradient5145);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
-         sodipodi:type="arc" />
-      <path
-         transform="matrix(0.87347736,0,0,0.83068052,-0.79308842,15.602788)"
-         d="m 19.25,9.625 a 9.25,9.25 0 1 1 -18.5,0 9.25,9.25 0 1 1 18.5,0 z"
-         sodipodi:ry="9.25"
-         sodipodi:rx="9.25"
-         sodipodi:cy="9.625"
-         sodipodi:cx="10"
-         id="path4262"
-         style="color:#000000;fill:url(#radialGradient5177);fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:0.47435912;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
-         sodipodi:type="arc" />
-      <path
-         sodipodi:type="arc"
-         style="opacity:0.35393258;color:#000000;fill:none;stroke:url(#radialGradient5157);stroke-width:0.49999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
-         id="path5149"
-         sodipodi:cx="10"
-         sodipodi:cy="9.625"
-         sodipodi:rx="9.25"
-         sodipodi:ry="9.25"
-         d="m 19.25,9.625 a 9.25,9.25 0 1 1 -18.5,0 9.25,9.25 0 1 1 18.5,0 z"
-         transform="matrix(0.82868359,0,0,0.78808147,-0.34515141,16.012803)" />
-      <path
-         sodipodi:nodetypes="cc"
-         id="path5159"
-         d="m 4.834121,20.642783 6.215127,5.91061"
-         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.21219134;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
-      <path
-         style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.21219146;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
-         d="M 11.04925,20.622826 4.8159529,26.553393"
-         id="path5161"
-         sodipodi:nodetypes="cc" />
-    </g>
-  </g>
-</svg>
index cf6f1eb784a42d4eb8d7a33c623b4637d644f936..d6616aa14a2c948cce92af4171aa66f470489b45 100644 (file)
@@ -1080,17 +1080,16 @@ StTooltip StLabel {
     color: white;
 }
 
-.run-dialog-error-icon {
-    background-image: url("dialog-error.svg");
-    width: 36px;
-    height: 36px;
-}
-
 .run-dialog-error-label {
-    font-size: 16px;
+    font-size: 12px;
     color: white;
 }
 
+.run-dialog-error-box {
+    padding-top: 15px;
+    spacing: 5px;
+}
+
 .run-dialog-entry {
     font-size: 14px;
     font-weight: bold;
index fc515eb7b25440879450ddf0041e48e1358b2a9d..e2ec2c164e4325467f133ddf3b087ac2c9a212f1 100644 (file)
@@ -82,12 +82,17 @@ function trySpawn(argv)
                          GLib.SpawnFlags.SEARCH_PATH,
                          null, null);
     } catch (err) {
-        // The exception from gjs contains an error string like:
-        //   Error invoking GLib.spawn_command_line_async: Failed to
-        //   execute child process "foo" (No such file or directory)
-        // We are only interested in the part in the parentheses. (And
-        // we can't pattern match the text, since it gets localized.)
-        err.message = err.message.replace(/.*\((.+)\)/, '$1');
+        if (err.code == GLib.SpawnError.G_SPAWN_ERROR_NOENT) {
+            err.message = _("Command not found");
+        } else {
+            // The exception from gjs contains an error string like:
+            //   Error invoking GLib.spawn_command_line_async: Failed to
+            //   execute child process "foo" (No such file or directory)
+            // We are only interested in the part in the parentheses. (And
+            // we can't pattern match the text, since it gets localized.)
+            err.message = err.message.replace(/.*\((.+)\)/, '$1');
+        }
+
         throw err;
     }
 }
index 6d07ee22393b3b00b1d8e1847113c4effa271acf..a86e9bdd4e33988cb4562a99b1e4e208e04a754b 100644 (file)
@@ -219,20 +219,20 @@ __proto__: ModalDialog.ModalDialog.prototype,
                          this._entryText.grab_key_focus();
                      }));
 
-        this._errorBox = new St.BoxLayout();
+        this._errorBox = new St.BoxLayout({ style_class: 'run-dialog-error-box' });
 
         this.contentLayout.add(this._errorBox, { expand: true });
 
-        let errorIcon = new St.Button({ style_class: 'run-dialog-error-icon' });
+        let errorIcon = new St.Icon({ icon_name: 'dialog-error', icon_size: 24, style_class: 'run-dialog-error-icon' });
 
-        this._errorBox.add(errorIcon);
+        this._errorBox.add(errorIcon, { y_align: St.Align.MIDDLE });
 
         this._commandError = false;
 
         this._errorMessage = new St.Label({ style_class: 'run-dialog-error-label' });
         this._errorMessage.clutter_text.line_wrap = true;
 
-        this._errorBox.add(this._errorMessage, { expand: true });
+        this._errorBox.add(this._errorMessage, { expand: true, y_align: St.Align.MIDDLE });
 
         this._errorBox.hide();
 
@@ -348,8 +348,7 @@ __proto__: ModalDialog.ModalDialog.prototype,
                 } else {
                     this._commandError = true;
 
-                    let errorStr = _("Execution of '%s' failed:").format(command) + '\n' + e.message;
-                    this._errorMessage.set_text(errorStr);
+                    this._errorMessage.set_text(e.message);
 
                     if (!this._errorBox.visible) {
                         let [errorBoxMinHeight, errorBoxNaturalHeight] = this._errorBox.get_preferred_height(-1);